package com.sinsz.wxpn.open.message;

/**
 * 回复消息
 * @author chenjianbo
 * @date 2018-11-16
 */
public interface ReplyService {

    /**
     * 回复文本消息
     * @param openID        接收者openId
     * @param content       文本内容
     * @return              回复消息内容
     */
    String replyTextMessage(String openID, String content);

    /**
     * 回复图片消息
     * @param openID        接收者openId
     * @param mediaId       图片素材ID
     * @return              回复消息内容
     */
    String replyImageMessage(String openID, String mediaId);

    /**
     * 回复语音消息
     * @param openID        接收者openId
     * @param mediaId       语音素材ID
     * @return              回复消息内容
     */
    String replyVoiceMessage(String openID, String mediaId);

    /**
     * 回复视频消息
     * @param openID        接收者openId
     * @param mediaId       视频素材ID
     * @param title         视频标题
     * @param description   视频描述
     * @return              回复消息内容
     */
    String replyVideoMessage(String openID, String mediaId, String title, String description);

    /**
     * 回复音乐消息
     * @param openID        接收者openId
     * @param title         音乐标题
     * @param description   音乐描述
     * @param musicUrl      音乐播放地址
     * @param musicHdUrl    高清音乐播放地址
     * @param thumbMediaId  音乐缩略图素材ID
     * @return              回复消息内容
     */
    String replyMusicMessage(String openID, String title, String description, String musicUrl, String musicHdUrl, String thumbMediaId);

    /**
     * 回复图文消息
     * <p>
     *     统一处理为一次回复一条
     * </p>
     * @param openID        接收者openId
     * @param title         图文消息标题
     * @param description   图文消息描述
     * @param picUrl        图文消息图片链接
     * @param url           图文消息跳转地址
     * @return              回复消息内容
     */
    String replyNewsMessage(String openID, String title, String description, String picUrl, String url);

}
